1. Field
The following description relates to component based software, and, more particularly, to a method and system for determining interface compatibility between components.
2. Description of Related Art
A software product line operating system can support a quick, systematic development process by constructing system architecture from a combination of software components. An individual software component is a software package or module that encapsulates a set of related functions or data. The individual components communicate with each other through interfaces.
Component-based Software Engineering (CBSE) is an approach to software development that relies on component definition and interface combination of functional modules. In CBSE, a component model is a model that defines software components according to standards, and expresses the composition structure. CBSE uses a system for managing and composing components based on a component model.
Further, in developing software based on a component model, components should be composed so that they meet the functional requirements of the software product. That is, it must be verified that the functions of components match before composition.
In component-based software development (CBSD), the functions of each component may be specified by a set of functions having various configurations rather than a single function. As the number of components within a system increases, the system becomes more complex. Also, there is a significant increase in the amount of time and effort to manually verify whether components can be composed with each other and function correctly.